1. Field of the Invention
The present invention relates to a server system used in a data communication system, more particularly, to a server system having update means for data which is held in a gateway server.
2. Description of the Related Art
In recent years, the use of a mobile communication system outdoors utilizing radio communication such as a PHS (Personal Handy Phone System) attracts attention of businessmen. However, a problem arises in that when radio data communication is performed, a poor quality of the communication often causes disconnection of a line. Although the disconnected line results only in a temporary interruption of sound in voice communication, it leads to loss of data in data communication.
In this case, retransmission control is generated, and the line is disconnected at the worst. In such a case, since all of application data become invalid, transmission and reception must be performed again from the beginning. This procedure for another transmission and reception can be performed several times depending on a communication state, thereby making a system very troublesome for a user to utilize.
For addressing this problem, recently, communication middleware is commercially available which enables, even if the line has been disconnected, transmission and reception to be restarted from a portion of data subsequent to a portion of the data previously received when the line is recovered after the disconnection. Description will be made on a system configuration and a communication sequence for prior art communication middleware with reference to FIG. 1 and FIG. 2. FIG. 1 is a schematic block diagram of a communication system provided with a gateway server having middleware and is used in common with description of the prior art and the present invention. FIG. 2 shows a communication sequence for the prior art communication system in FIG. 1.
As shown in FIG. 1, a typical communication system comprises radio client 101; radio base station 102 for connection to radio network 104; dial-up router 103 for connection to LAN 107; gateway server 105 implementing communication middleware; application server 106 realizing electronic mail, World Wide Web, or the like; and LAN 107.
In FIG. 1, gateway server 105 and application server 106 independently exist on the same network. However, gateway server 105 and application server 106 do not necessarily exist on the same network and both of them may exist on the same hardware. Radio client 101 and dial-up router 103 are connected using a PPP (Point-to-point protocol) and the communication middleware exists on a TCP/IP or UDP/IP protocol.
Next, an operation will be described using FIG. 2. First, radio client 101 connects a line with dial-up router 103, and after the completion of the connection, provides connection request 1101 for a communication connection at a communication middleware level to gateway server 105 and receives connection acknowledgment 1102 for communication connection from gateway server 105. FIG. 2 shows a case where data is transmitted from application server 106 to radio client 101. First, radio client 101 provides application data request 1103, then application server 106 transmits data for which the request is provided in response to the request. Packets to be transmitted are given sequence numbers and an ACK packet can be used to check to which point data has been transmitted.
FIG. 2 shows a case where the line is disconnected after data packets with sequence number 3 or later become unable to be transmitted while being transmitted from the gateway server due to a reduced receiving level in a radio wave area or the like. After the line is disconnected, radio client 101 reconnects the line with dial-up router 103, and after the completion of the reconnection, transmits reconnection request 1104 for connection to gateway server 105. At this time, the sequence numbers of data packets received correctly by radio client 101 are also notified. Gateway server 105, after the completion of processing for reconnection, transmits acknowledgment message 1105 to radio client 101. Thereafter, gateway server 105 retransmits data from the data packet with sequence number 3 which has not been received by radio client 101 and receives reception acknowledgment 1106 from radio client 101 to terminate a sequence of operations.
In this case, if the communication middleware is not implemented, it is required to request data again from the server to transmit the data from the beginning after the connection is established.
However, the prior art communication middleware has the following disadvantages. The first disadvantage is that if a line is disconnected during the reception of data for which a real-time characteristics are important and later an attempt is made to restart communication with the middleware from some midpoint in the data, the latest data can not be transmitted. This is because in the prior art communication middleware the application data accumulated at the gateway server with the communication middleware comes to be out of the control of the application server. Even when data has been updated to the latest version at the application server, the old application data accumulated at the gateway server with the communication middleware for which transmission has stopped can not be updated to the latest version so that the gateway server must transmit the old data without updating. The latest data is not transmitted unless there is another data request from the radio client.
The prior art will be described using FIG. 1. Even when the data packets (data packets with sequence numbers 3 to 5 in this prior art) to be transmitted at the time the reconnection processing is executed after the disconnection of the line have been updated to the latest version in application server 106, the data packets already accumulated in gateway server 105 are not under control of the application so that these accumulated data packets can not be discarded to update to the latest version. Thus, when the latest data packets are required, they must be transmitted after the accumulated data packets are transmitted.
Therefor if information such as monitoring information and traffic information for which the real-time characteristics are required is not updated until after the data packets accumulated in the gateway server have been transmitted, causing a problem in providing real-time service.
It is an object of the present invention to provide a method of updating accumulated data with middleware and a server system for performing the same, which can maintain real-time characteristics for information and improve efficiency of a line. To achieve this, time information of a data packet waiting for retransmission is looked up and it is determined whether data in a higher layer is new or old by inquiring of an application server about whether it is the latest or not, thereby making is possible always to transmit the latest data to a client terminal when a line reconnection is generated.
A method of updating accumulated data with middleware according to the present invention is a method of updating accumulated data with middleware in a data communication system connecting a client and an application server through a gateway server having the middleware. A gateway server receives specified data from the application server in response to a data request from the client, holds the data in a buffer, adds a predetermined header to the data, and transmits the data to the client. When the client has not been able to receive all of the specified data, the client requests reconnection to the gateway server. The gateway server, receiving the reconnection request, retransmits the data held in the buffer to the client if the data under transmission has not been updated in the application server. While, the gateway server which received the reconnection request updates the data under transmission held in the buffer to the latest version if the data under transmission has been updated in the application server, notifies the client that the data has been updated, and transmits the updated data to the client. The client, receiving the notification of the update, deletes the received accumulated data, and accumulate the updated data newly received.
A method of checking the presence or absence of update of the data under transmission in the application server is performed as follows.
The gateway server stores time information recorded in data in a table when the gateway server receives the data from the application server. The application server checks periodically the presence or absence of update of application data transmitted to the gateway server, and if the data has been updated, notifies the gateway server of a data ID and update time of the updated data as an update data notification. The gateway server stores the update data notification in the table and checks the presence or absence of update of the data under transmission based on the data ID and the update time in the data update notification when the gateway server acknowledges the reconnection request from the client.
Alternatively, in this method, the gateway server may transmit to the application server an update inquiry for checking the presence or absence of update in data contents of the data transmitted to the client when the gateway server receives the reconnection request for connection from the client, and the application server may notify the gateway server of the presence or absence of update.
In another aspect, the gateway server starts a timer when it transmits the data to the client, requests the application server to transmit updated data after a predetermined time has elapsed, deletes the data under transmission in the buffer, updates contents thereof to the updated data, and restarts the timer. When the gateway server receives a reconnection request from the client, the gateway server checks whether the data has been updated, transmits a data update information to the client if the data has been updated, and transmits the updated data to the client.
In a further aspect, the client counts the number of times reconnection for data is performed in data ID units, and if a predetermined number of reconnection is performed for the data with the same data ID, the client requests the gateway server to update the data when it transmits the reconnection request the next time. The gateway server deletes the data which has not been transmitted in the buffer, requests data with the data ID from the application server, obtains the latest data from the application server, and transmit the data to the client.
The gateway server and the application server may be independently connected on a LAN, or may be implemented on a single hardware.
A server system for updating accumulated data with middleware in a data communication system connecting a client and an application server through a gateway server having the middleware. The server system comprises a gateway server and an application server. The gateway server includes router side communication means, LAN side communication means, route side buffer managing means, LAN side buffer managing means, communication continuing means, data update monitoring means, and a control unit. Additionally, a recording medium which has a control program recorded for controlling the system may be included.
The router side communication means and the LAN side communication means perform control for TCP/IP, UDP/IP communication on a LAN. The router side buffer managing means performs management and notification for data transmitted and received on a network side of the client in a buffer. The LAN side buffer managing means performs management and notification for data transmitted and received on the LAN side in the buffer. The communication continuing means executes processing for connection/reconnection to the radio client and acknowledgment for sending data packets as well as performing retransmission control and sequence control for application data when a line is disconnected. The data update monitoring means determines whether data which has not been transmitted is new or old based on update information transmitted from the application server. The control unit controls the system with a control program.
The gateway server system according to the present invention is characterized in that it implements communication middleware capable of continuing data communication when the line is reconnected and has means for inquiring of the application server about whether or not the data accumulated in the gateway server as data for which reception has not been acknowledged is the latest data and based thereon executes processing for updating the accumulated data.
The above and other object, features, and advantages of the present invention will become apparent from the following description based on the accompanying drawings which illustrate examples of preferred embodiments of the present invention.